http://pdos.csail.mit.edu/6.893/2009/readings/i386.pdf